// 测试定时任务逻辑
const OrderGenerator = require('./src/services/orderGenerator');
const logger = require('./src/utils/logger');

async function testSchedule() {
  try {
    logger.info('开始测试定时任务逻辑...');

    const orderGenerator = new OrderGenerator();

    // 初始化数据
    await orderGenerator.initialize();

    // 获取当前活跃的配置
    const activeSettings = orderGenerator.getActiveSettings();
    logger.info(`找到 ${activeSettings.length} 个活跃配置`);

    if (activeSettings.length > 0) {
      logger.info('活跃配置详情:');
      activeSettings.forEach(setting => {
        logger.info(`- ${setting.name}: ${setting.enabled ? '启用' : '禁用'}`);
        logger.info(`  时间范围: ${setting.start_time} - ${setting.end_time}`);
        if (setting.date_range) {
          const dateRange = setting.date_range;
          logger.info(`  日期范围: ${dateRange.start_date} - ${dateRange.end_date}`);
        }
        logger.info(`  目标金额: ${setting.target_amount || 10000}`);
        logger.info(`  分布模式: ${setting.distribution_pattern || 'uniform'}`);
      });
    } else {
      logger.info('当前时间没有活跃的配置');
    }

    // 测试订单生成
    logger.info('开始生成订单测试...');
    await orderGenerator.generateOrders();

    logger.info('定时任务逻辑测试完成');
  } catch (error) {
    logger.error('测试过程中发生错误:', error);
  }
}

// 如果直接运行此文件，执行测试
if (require.main === module) {
  testSchedule().catch(error => {
    logger.error('测试失败:', error);
  });
}

module.exports = testSchedule;